read smart contract data from frontend